<!DOCTYPE html>
<html>
<head>
<style>
    body {
        margin: 0;
        width: 2000px;
        overflow: hidden; /* hide scrollbars */
    }

    p {
        position: relative;
        left: 100px;
    }
 
    .group {
        position: relative;
        width: 500px;
        height: 200px;
    }
 
    .container {
        width: 400px;
        height: 180px;
        outline: 2px solid black;
    }
 
    .box {
        width: 200px;
        height: 180px;
    }

    .sticky {
        position: sticky;
        left: 100px;
        background-color: green;
    }
 
    .indicator {
        position: absolute;
        top: 0;
        left: 0;
        background-color: red;
    }
</style>
<script>
    function doTest()
    {
        window.scrollTo(100, 0);
    }
    window.addEventListener('load', doTest, false);
</script>
</head>
<body>
    <p>Block</p>
    <div class="group" style="left: 100px">
        <div class="indicator box" style="left: 100px;"></div>
        <div class="container">
            <div class="sticky box"></div>
        </div>
    </div>

    <p>Table</p>
    <div class="group" style="left: 100px">
        <div class="indicator box" style="left: 100px;"></div>
        <div class="container">
            <div class="sticky box"></div>
        </div>
    </div>

    <p>Grid</p>
    <div class="group" style="left: 100px">
        <div class="indicator box" style="left: 100px;"></div>
        <div class="container">
            <div class="sticky box"></div>
        </div>
    </div>

    <p>Flex box</p>
    <div class="group" style="left: 100px">
        <div class="indicator box" style="left: 100px;"></div>
        <div class="container">
            <div class="sticky box"></div>
        </div>
    </div>
  <div style="position: absolute; top: 500px;">
  This test checks the behavior of position:sticky with various display values.
  There should be no red.
  </div>
</body>
</html>
